home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / mint / l_0399 / 296 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  3.6 KB

  1. From: Stephen Usher <steve@earth.ox.ac.uk>
  2. Subject: Re: PL5 in progress ...
  3. Date: Mon, 7 Jun 1993 14:59:01 +0100 (BST)
  4. In-Reply-To: <9306071328.AA10341@terminator.rs.itd.umich.edu> from "Nicholas S Castellano" at Jun 7, 93 09:28:02 am
  5. Mime-Version: 1.0
  6.  
  7. >>1. Using a method analagous to that used by tfork() I've managed to get minixfs
  8. >>to spawn an update daemon as part of its initialisation (without needing a
  9. >>separate program). Is this legitimate ? Particularly, I'm thinking about memory
  10. >>protection since the new process ends up in user mode sharing the memory of
  11. >>minix.xfs itself. I prefer this method rather than a separate program because
  12. >>it's all self contained and can make use of some minixfs info not normally
  13. >>available to a separate process.
  14. >
  15. >I can't say anything about the legitimacy of your method; that's
  16. >Eric's department.  I can say how I'd like to see this handled, since
  17. >I've given it a little bit of thought but haven't sent any of them to
  18. >the list until now, since I haven't done any MiNT filesystem work and
  19. >figured there'd be obvious problems with it.  Feel free to rip this
  20. >idea apart...
  21. >
  22. >What we need is a new system call, Fsync().  By default, this will
  23. >point to an empty list of sync handlers.
  24.  
  25. This is what Unix does, and as MiNT is mostly following Unix-like ideas and
  26. Minixfs is also Unix-like I think this is the way to go.
  27.  
  28. >
  29. >In the kerinfo structure, filesystems should then get a pointer to a
  30. >routine which will install a sync handler for it.  Minixfs and any
  31. >other fs can call this routine once at startup.
  32. >
  33. >The advantage of this method is that it will mean only one update
  34. >daemon will be needed, to call Fsync() repeatedly, no matter how many
  35. >filesystems are installed.
  36.  
  37. Also, MiNT itself could call this every so often, just incase there's no
  38. daemon running. MiNT would also call this when init exits. Maybe Fsync()
  39. should have a partner, SFsync() ie Shutdown-filesystem-synchronise which
  40. would let the filesystems do final synchronisation and possibly set a bit in
  41. the header telling any future auto-fscking program that the filesystem need
  42. not be checked at boot time, just as SunOS 4.1.[23] and SunOS 5.x does.
  43.  
  44. >>2. Everything is fine when certain GEM stuff isn't running. When GEM stuff is
  45. >>running the daemon hardly ever gets in. Presumably this is down to MiNT not
  46. >>pre-empting GEM; does Multi-TOS fix this ? I suppose other users could always
  47. >>have a small DA with an evnt_timer/Syield() loop in it.
  48.  
  49. >From what I've observed, MiNT gets locked out of the system until an event
  50. happens and the application is given control back, ie. GEM busy-waits within
  51. a system call. This would have to have been fixed in MultiTOS GEM!
  52.  
  53. >My guess would be that the daemon would get some slices whenever the
  54. >GEM program entered the Bios/Xbios/Gemdos (more uneducated guesses
  55. >here...)  which are the only times it would really matter.  I guess it
  56. >would be unfortunate if the sequence went: gem program makes Gemdos
  57. >call, context switch to update daemon occurs, daemon does Fsync()
  58. >[nothing happens since Gemdos calls hasn't done anything yet], context
  59. >switch back to gem program's Gemdos call occurs, gemdos call
  60. >completes, gem program continues and hogs the system again, preventing
  61. >the update daemon from forcing the sync.  I'll leave it to the real
  62. >gurus to figure out if this is the case.
  63. >
  64. >Cheers,
  65. >entropy
  66.  
  67. Just my tu'pence worth.
  68.  
  69. Steve
  70.  
  71. -- 
  72. ---------------------------------------------------------------------------
  73. Computer Systems Administrator, Dept. of Earth Sciences, Oxford University.
  74. E-Mail: steve@uk.ac.ox.earth (JANET) steve@earth.ox.ac.uk (Internet).
  75. Tel:- Oxford (0865) 282110 (UK) or +44 865 282110 (International).
  76.